1. Field of the Invention
The present invention relates to an apparatus and method for identifying the points that lie on a surface of interest and, more particularly, to an apparatus and method for identifying the points that lie on a surface of interest that requires minimal user input. The invention may be used to produce a group of points that lie on the surface of interest, and may also be used to create a representation of the surface of interest from the previously identified group using surface fitting techniques.
2. Description of the Related Art
It is often desirable to have computer models of large physical structures, such as a petroleum refinery. Computer models facilitate an understanding of the structure that is beneficial in a number of ways.
One technique for constructing these computer models begins by laser scanning the structure. In the laser scanning process, a laser beam scans across a view that encompasses the structure of interest. The scanning device measures a plurality of points that lie on the surfaces that are visible in the scene, and typically there is some measurement error associated with the points. Each scan point has a measured location in 3D space, usually in terms of an (x,y,z) point in the scanner""s local coordinate system.
The laser scanning process measures the 3D data of a large number of points. The resulting collection of points is often referred to as one or more point clouds. The point clouds typically have points that lie on many different surfaces, depending on the scene that was scanned. For example, a scan taken at a petroleum refinery may include a point cloud that has points on pipes, elbows, valves, pumps, and structural steel members.
Once the 3D data for the points in the scan have been collected, the 3D data of the points are often processed to generate a computer model of the structure, although in some cases the points themselves may be the desired final product of the scanning process. One technique for processing the 3D point data is to first group together the points that lie on the same surface. After the points are grouped together, the points are processed with a prior-art fit procedure that defines a surface consistent with the points. For example, the points that lie on the surface of a cylindrical storage tank can be grouped together, and then processed by a prior-art fit procedure to construct a geometric model of the surface of the cylindrical tank.
One technique for grouping together the points that lie on the same surface, known as manual segmentation or point cloud partitioning, is to manually partition the points that appear to lie on the surface of interest into a group. For example, a user can select one or more groups of points and then draw a polygonal fence around the points that appear to lie on the surface of interest, such as the surface of the cylindrical storage tank, while excluding points that lie on other surfaces. The manually specified polygonal fence is used to cut the specified collection of points into two groups: a group inside the fence that represents those points on the surface of interest, and a group of points outside the fence that represent data on other surfaces.
Once a group of points has been defined, the grouping process may need to be repeated to remove spurious points that do not lie on the desired surface. The view presented to the user, which is formed from thousands of points, is a 2D projection of 3D space. As a result, two close-together points that appear to be on the same surface in a 2D view may actually be on different surfaces, one surface lying in the foreground of 3D space with the other surface lying in the background.
Thus, once a group of points has been defined, the user looks at the same scene from a view that is, for example, perpendicular to the first view. If points exist that are not part of the desired surface the user then again manually partitions the points that appear to lie on the surface of interest. This second partitioning removes points that appeared to be correct in the first view, but in fact were positioned at a depth other then the depth associated with the object of interest. The user typically can isolate points on the desired surface in one or two manual segmentation steps, but in some cases additional segmentation may be needed.
Following the manual segmentation, a fit procedure is utilized to generate a geometric primitive of the surface of interest from the surface points. Once the primitive has been generated, fit statistics are reviewed. Frequently, the fit statistics fall below acceptable levels due to the inadvertent inclusion of spurious pointsxe2x80x94points which were included in the manual selection steps but which are not on the surface of interest.
When this occurs, the user must perform additional manual segmentation steps to remove spurious points that are not really on the desired surface. The inclusion of spurious points is a common problem as it is difficult to identify the points that lie on the surface of interest when viewing them on a computer screen in 2D.
As a result, the procedure for generating a computer model of a surface from 3D point data is a time consuming and error prone process. Thus, there is a need for a method for identifying the points that define a surface of interest that eliminates the need for the user to manually partition the points that lie on the surface of interest.
The present invention provides an apparatus and method for identifying the points that lie on a surface of interest that eliminates the need for the user to manually partition the points that lie on the surface of interest. The apparatus of the present invention includes means for selecting a number of seed points that lie on the surface of interest. The number of seed points selected can be one or more than one.
The apparatus of the present invention also includes means for defining a first set of points. The first set of points includes the number of seed points. The apparatus further includes means for adding a number of points to the first set of points. The added points are in vicinities of the number of seed points and likely to lie on the same surfaces as the number of seed points. In one embodiment of the present invention, the apparatus considers some neighboring points, and identifies points to be added on the basis of a uniformity of spacing, using a predetermined spacing factor.
The apparatus of the present invention also includes means for defining a surface type, and means for defining a candidate surface with the first set of points and the surface type. The apparatus further includes means for defining a second set of points, and means for adding points to the second set of points that are within a predetermined distance of the candidate surface. The apparatus additionally includes means for partitioning the second set of points into groups of points, and means for redefining the candidate surface with the groups of points that include the number of seed points, and the surface type.
The method of the present invention begins with the step of selecting a number of seed points. Following this, a first set of points are defined. The first set of points includes the number of seed points. Next, a number of points are added to the first set of points. The added points are in vicinities of the number of seed points, and likely to be on the same surfaces.
Next, a surface type is defined, and then a candidate surface is defined with the first set of points and the surface type. After the candidate surface has been defined, a second set of points is defined. The second set of points includes the number of seed points. Next, a number of points are added to the second set of points that are within the first predetermined distance of the candidate surface. Following this, the second set of points is partitioned into groups of points. Next, the candidate surface is redefined with the groups of points that include the number of seed points, and the surface type.
A better understanding of the features and advantages of the present invention will be obtained by reference to the following detailed description and accompanying drawings that set forth an illustrative embodiment in which the principles of the invention are utilized.